package gemini.castor.ui.client.page.content.home.apply.personalinfo;

import gemini.castor.ui.client.page.widget.address.AddressObject;
import gemini.castor.ui.client.page.widget.identify.IdentifyObject;
import gemini.castor.ui.client.page.widget.personalinfo.PersonalInfoObject;
import gemini.castor.ui.client.page.widget.phone.PhoneObject;

import com.google.gwt.validation.client.NotEmpty;
import com.google.gwt.validation.client.interfaces.IValidatable;

public class PersonalInfoFormObject implements IValidatable{
	
	private PersonalInfoObject personalInfo;

	private PersonalInfoObject spousePersonalInfo;

	private AddressObject address;
	
	private boolean hasOtherContactAddress;
	
	private AddressObject contactAddress;
	
	private PhoneObject phone;
	
	private String language;
	
	private String faxNumber;
	
	@NotEmpty
	private String email;
	
	private IdentifyObject identify;
	
	private boolean withHoney;
	
	private IdentifyObject honeyIdentify;
	
	private String personalInfoId;
	
	public PersonalInfoFormObject(){
		identify = new IdentifyObject();
		honeyIdentify = new IdentifyObject();
		address = new AddressObject();
		contactAddress = new AddressObject();
		phone = new PhoneObject();
		personalInfo = new PersonalInfoObject();
		spousePersonalInfo = new PersonalInfoObject();
	}

	public AddressObject getAddress() {
		return address;
	}

	public void setAddress(AddressObject address) {
		this.address = address;
	}

	public AddressObject getContactAddress() {
		return contactAddress;
	}

	public void setContactAddress(AddressObject contactAddress) {
		this.contactAddress = contactAddress;
	}

	public PhoneObject getPhone() {
		return phone;
	}

	public void setPhone(PhoneObject phone) {
		this.phone = phone;
	}

	public String getFaxNumber() {
		return faxNumber;
	}

	public void setFaxNumber(String faxNumber) {
		this.faxNumber = faxNumber;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public IdentifyObject getIdentify() {
		return identify;
	}

	public void setIdentify(IdentifyObject identify) {
		this.identify = identify;
	}

	public IdentifyObject getHoneyIdentify() {
		return honeyIdentify;
	}

	public void setHoneyIdentify(IdentifyObject honeyIdentify) {
		this.honeyIdentify = honeyIdentify;
	}

	public void setWithHoney(boolean withHoney) {
		this.withHoney = withHoney;
	}

	public boolean isWithSpouse() {
		return withHoney;
	}

	public void setHasOtherContactAddress(boolean hasOtherContactAddress) {
		this.hasOtherContactAddress = hasOtherContactAddress;
	}

	public boolean isHasOtherContactAddress() {
		return hasOtherContactAddress;
	}

	public void setLanguage(String language) {
		this.language = language;
	}

	public String getLanguage() {
		return language;
	}

	public void setPersonalInfoId(String personalInfoId) {
		this.personalInfoId = personalInfoId;
	}

	public String getPersonalInfoId() {
		return personalInfoId;
	}

	public void setPersonalInfo(PersonalInfoObject personalInfo) {
		this.personalInfo = personalInfo;
	}

	public PersonalInfoObject getPersonalInfo() {
		return personalInfo;
	}

	public void setSpousePersonalInfo(PersonalInfoObject spousePersonalInfo) {
		this.spousePersonalInfo = spousePersonalInfo;
	}

	public PersonalInfoObject getSpousePersonalInfo() {
		return spousePersonalInfo;
	}
}
